// conversion tables
var LAT = {};
LAT['a'] = 'а';
LAT['b'] = 'б';
LAT['v'] = 'в';
LAT['g'] = 'г';
LAT['d'] = 'д';
LAT['e'] = 'е';
LAT['jo'] = 'ё';
LAT['yo'] = 'ё';
LAT['zh'] = 'ж';
LAT['z'] = 'з';
LAT['i'] = 'и';
LAT['j'] = 'й';
LAT['k'] = 'к';
LAT['l'] = 'л';
LAT['m'] = 'м';
LAT['n'] = 'н';
LAT['o'] = 'о';
LAT['p'] = 'п';
LAT['r'] = 'р';
LAT['s'] = 'с';
LAT['t'] = 'т';
LAT['u'] = 'у';
LAT['f'] = 'ф';
LAT['h'] = 'х';
LAT['c'] = 'ц';
LAT['tz'] = 'ц';
LAT['ch'] = 'ч';
LAT['sh'] = 'ш';
LAT['w'] = 'ш';
LAT['shh'] = 'щ';
LAT['#'] = 'ъ';
LAT['y'] = 'ы';
LAT['\''] = 'ь';
LAT['je'] = 'э';
LAT['ju'] = 'ю';
LAT['yu'] = 'ю';
LAT['ja'] = 'я';
LAT['ya'] = 'я';
LAT['A'] = 'А';
LAT['B'] = 'Б';
LAT['V'] = 'В';
LAT['G'] = 'Г';
LAT['D'] = 'Д';
LAT['E'] = 'Е';
LAT['Jo'] = 'Ё';
LAT['JO'] = 'Ё';
LAT['Yo'] = 'Ё';
LAT['YO'] = 'Ё';
LAT['Zh'] = 'Ж';
LAT['ZH'] = 'Ж';
LAT['Z'] = 'З';
LAT['I'] = 'И';
LAT['J'] = 'Й';
LAT['K'] = 'К';
LAT['L'] = 'Л';
LAT['M'] = 'М';
LAT['N'] = 'Н';
LAT['O'] = 'О';
LAT['P'] = 'П';
LAT['R'] = 'Р';
LAT['S'] = 'С';
LAT['T'] = 'Т';
LAT['U'] = 'У';
LAT['F'] = 'Ф';
LAT['H'] = 'Х';
LAT['C'] = 'Ц';
LAT['Tz'] = 'ц';
LAT['TZ'] = 'ц';
LAT['Ch'] = 'Ч';
LAT['CH'] = 'Ч';
LAT['Sh'] = 'Ш';
LAT['SH'] = 'Ш';
LAT['Shh'] = 'Щ';
LAT['##'] = 'Ъ';
LAT['Y'] = 'Ы';
LAT['\'\''] = 'Ь';
LAT['Je'] = 'Э';
LAT['JE'] = 'Э';
LAT['Ju'] = 'Ю';
LAT['JU'] = 'Ю';
LAT['Yu'] = 'Ю';
LAT['YU'] = 'Ю';
LAT['Ja'] = 'Я';
LAT['JA'] = 'Я';
LAT['Ya'] = 'Я';
LAT['YA'] = 'Я';
// reverse mapping
CYR = [{},{},{},{}]
for(key in LAT){
	for(var k in CYR){
		if(!CYR[k][LAT[key]]){
			CYR[k][LAT[key]] = key;
		}
	}
}
